home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1996 July / C-C++ Users Group Library July 1996.iso / listings / v_08_07 / 8n07091a < prev    next >
Text File  |  1990-06-17  |  983b  |  57 lines

  1.  
  2. main()
  3.         {
  4.         int i = 0XFFFF;
  5.         double d = 123456789.123456789;
  6.         char c;
  7.  
  8.         /* This is okay, cast does nothing */   
  9.         (char)  c = 'A';
  10.                 
  11.         printf("\n I is %x", i);
  12.  
  13.         (char) i = 'A';
  14.  
  15.         printf("\n I is %x", i);
  16.  
  17.         *(&(char)i + 1) = 'B';
  18.  
  19.         printf("\n I is %x", i);
  20.  
  21.         /* Show it the "right" way */
  22.         i = 0XFFFF;
  23.  
  24.         printf("\n I is %x", i);
  25.  
  26.         *((char *) &i + 1) = 'B';
  27.  
  28.         printf("\n I is %x", i);
  29.  
  30.         /* Now try it with a double */
  31.  
  32.         printf("\n d is %lf", d);
  33.  
  34.         (int) d = 'C';
  35.  
  36.         printf("\n d is %lf", d);
  37.  
  38.         /* This causes a compiler error -- */   
  39.         /* This was removed so that the listing could be 
  40.            produced */
  41.  
  42.         (double) i = 'A';
  43.  
  44.  
  45.         }
  46.  
  47. Results:
  48.  
  49.  I is ffff
  50.  I is ff41
  51.  I is 4241
  52.  I is ffff
  53.  I is 42ff
  54.  d is 123456789.123457
  55.  d is 123456789.123048
  56.  
  57.